//适配器模式典型应用之promisify
let fs = require('fs');
// fs.readFile('../uitils/1.text', 'utf8', (err: any, data: any): void => {
//   if (!err) {
//     console.log(data);
//   };
//   console.log('err:', err);
// });
//promisify适配器
function promisify(callback:any){
    return function (...args:any) { 
        return new Promise(function (resolve,reject) {
            console.log(...args) 
            callback(...args, function (err:any, data:any) {
                if (!err) {
                    return resolve(data);
                };
                return reject(err)
            });
         })
     }
};

// 通过适配器将异步转成同步
let readFileFn = promisify(fs.readFile);
readFileFn('../../uitils/2.text', 'utf8').then(res=>{
    console.log('读取成功=',res);
},err=>{
    console.log('读取失败=',err);
})